<?php
class administrateur
{
    //Variables
    private $id;
    private $login;
    private $password;
    private $date_connexion;
    
    //Acsesseurs
    public function get_id()
    {
        return $this->id;
    }
    public function get_login()
    {
        return $this->login;
    }
    public function get_password()
    {
        return $this->password;
    }
    public function get_date_connexion()
    {
        return $this->date_connexion;
    }
    
    //Mutateurs
    public function set_password($var)
    {
        $this->password = securite::bdd(md5(HASH.$var));
    }
    public function set_date_connexion($var)
    {
        $this->date_connexion = securite::bdd($var);
    }
    
    //Fonctions
    public function __construct($id)
    {
        //Si l'id n'est pas null
        if(isset($id))
        {
            //On créer l'objet à partir de la base de donnée
            $this->creer_depuis_id($id);
        }
    }
    //Permet de créer l'objet à partir de la base de donnée
    public function creer_depuis_id($id)
    {
        //On regarde si l'id existe
        $rq = "SELECT COUNT(*) FROM administrateur WHERE id_administrateur = '".addslashes($id)."';";
        $result = mysql_result($GLOBALS['bdd']->query($rq), 0);
        if($result == 0)
        {
            //L'utilisateur n'exispte pas
            $this->login = $this->password = "Administrateur supprimé";
        }
        else
        {
            //Il existe bien
            $rq = "SELECT * FROM administrateur where id_administrateur = '".addslashes($id)."';";
            $result = $GLOBALS['bdd']->query($rq);
            $data = mysql_fetch_assoc($result) or die(mysql_error());
            //Attribution des variables
            $this->id = $data['id_administrateur'];
            $this->login = $data['login_administrateur'];
            $this->password = $data['password_administrateur'];
            $this->date_connexion = $data['date_connexion_administrateur'];
        }
    }
    //Regarde si l'utilisateur existe
    public function connexion($login, $password)
    {
        //Vérification de l'id et password
        $rq = "SELECT COUNT(*) FROM administrateur WHERE login_administrateur = '".securite::bdd($login)."' AND password_administrateur = '".md5(HASH.securite::bdd($password))."';";
        $result = $GLOBALS['bdd']->query($rq);
        //Si il n'y a pas d'utilisateur pour ces identifiants
        if(mysql_result($result, 0) == 0)
        {
            return false;
        }
        else
        {
            //On va chercher l'id
            $rq2 = "SELECT id_administrateur FROM administrateur WHERE login_administrateur = '".securite::bdd($login)."' AND password_administrateur = '".md5(HASH.securite::bdd($password))."';";
            $result = $GLOBALS['bdd']->query($rq2);
            $id = mysql_result($result, 0);
            $this->creer_depuis_id($id);
            $_SESSION['id_administrateur'] = $this->id;
            $_SESSION['date_connexion_administrateur'] = $this->date_connexion;
            $date = time();
            //On sauvegarde dans la bdd la nouvelle date de connexion
            $rq = "UPDATE administrateur SET date_connexion_administrateur = '".$date."' WHERE id_administrateur = '".$this->id."';";
            $GLOBALS['bdd']->query($rq);
            return true;
        }
    }
    //Déconnexion d'un administrateur
    public function deconnexion()
    {
        unset($_SESSION);
		session_destroy();
    }    
}
?>